package com.crm.service.performanceRankingManager;

import com.crm.model.qo.performanceRankingManager.PerformanceRankingQO;
import com.crm.model.vo.performanceRankingManager.*;

import java.util.List;

/**
 * @ Author ：pym
 * @ Date   ：2021/8/27 11:05
 */
public interface PerformanceRankingDbService {

    /**
     * 个人业绩统计
     * @Author pym
     * @Date  2021/8/27 14:12
     * @param performanceRankingQO 参数
     * @return {@link {java.util.List<com.crm.model.vo.performanceRankingManager.PersonalPerformanceRankingVO>}}
     */
    List<PersonalPerformanceRankingVO> personalPerformanceRanking(PerformanceRankingQO performanceRankingQO);

    /**
     * 公司业绩统计
     * @Author pym
     * @Date  2021/8/27 14:13
     * @param performanceRankingQO 参数
     * @return {@link {java.util.List<com.crm.model.vo.performanceRankingManager.CompanyPerformanceRankingVO>}}
     */
    List<CompanyPerformanceRankingVO> companyPerformanceRanking(PerformanceRankingQO performanceRankingQO);

    /**
     * 根据年月公司业绩统计
     * @param dataStr
     * @return
     */
    List<CompanyPerformanceRankingYmVO> companyPerformanceRankingByYm(String dataStr);

    /**
     * 产品占比分析
     * @param dataStr
     * @param accountId
     * @return
     */
    List<AnalysisOfProductProportionVO> getAnalysisOfProductProportion(String dataStr, String accountId);

    /**
     * 个人业绩组成
     * @param dataStr
     * @param accountId
     * @return
     */
    List<PerformanceComposition> getPerformanceComposition(String dataStr, String accountId);


}
